package com.ruoyi.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 停车订单申诉对象 parking_order_appeal
 * 
 * @author dongdong
 * @date 2025-11-20
 */
public class ParkingOrderAppeal extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderNo;

    /** 申诉原因 */
    @Excel(name = "申诉原因")
    private String reason;

    /** 申诉详细描述 */
    @Excel(name = "申诉详细描述")
    private String content;

    /** 图片URL（多张逗号分割） */
    @Excel(name = "图片URL", readConverterExp = "多=张逗号分割")
    private String imageUrl;

    /** 申诉状态（0:待处理, 1:处理中, 2:已处理, 3:已关闭） */
    @Excel(name = "申诉状态（0:待处理, 1:处理中, 2:已处理, 3:已关闭）")
    private Integer appealStatus;

    /** 申诉时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "申诉时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date appealTime;

    /** 处理人ID */
    @Excel(name = "处理人ID")
    private Long processorId;

    /** 处理时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date processTime;

    /** 处理结果 */
    @Excel(name = "处理结果")
    private String processResult;

    /** 处理备注 */
    @Excel(name = "处理备注")
    private String processRemark;

    /** 创建人 */
    private String createdBy;

    /** 创建时间 */
    private Date createdTime;

    /** 更新人 */
    private String updatedBy;

    /** 更新时间 */
    private Date updatedTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setOrderNo(String orderNo) 
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo() 
    {
        return orderNo;
    }
    public void setReason(String reason) 
    {
        this.reason = reason;
    }

    public String getReason() 
    {
        return reason;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setImageUrl(String imageUrl) 
    {
        this.imageUrl = imageUrl;
    }

    public String getImageUrl() 
    {
        return imageUrl;
    }
    public void setAppealStatus(Integer appealStatus) 
    {
        this.appealStatus = appealStatus;
    }

    public Integer getAppealStatus() 
    {
        return appealStatus;
    }
    public void setAppealTime(Date appealTime) 
    {
        this.appealTime = appealTime;
    }

    public Date getAppealTime() 
    {
        return appealTime;
    }
    public void setProcessorId(Long processorId) 
    {
        this.processorId = processorId;
    }

    public Long getProcessorId() 
    {
        return processorId;
    }
    public void setProcessTime(Date processTime) 
    {
        this.processTime = processTime;
    }

    public Date getProcessTime() 
    {
        return processTime;
    }
    public void setProcessResult(String processResult) 
    {
        this.processResult = processResult;
    }

    public String getProcessResult() 
    {
        return processResult;
    }
    public void setProcessRemark(String processRemark) 
    {
        this.processRemark = processRemark;
    }

    public String getProcessRemark() 
    {
        return processRemark;
    }
    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }
    public void setCreatedTime(Date createdTime) 
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime() 
    {
        return createdTime;
    }
    public void setUpdatedBy(String updatedBy) 
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy() 
    {
        return updatedBy;
    }
    public void setUpdatedTime(Date updatedTime) 
    {
        this.updatedTime = updatedTime;
    }

    public Date getUpdatedTime() 
    {
        return updatedTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderNo", getOrderNo())
            .append("reason", getReason())
            .append("content", getContent())
            .append("imageUrl", getImageUrl())
            .append("appealStatus", getAppealStatus())
            .append("appealTime", getAppealTime())
            .append("processorId", getProcessorId())
            .append("processTime", getProcessTime())
            .append("processResult", getProcessResult())
            .append("processRemark", getProcessRemark())
            .append("createdBy", getCreatedBy())
            .append("createdTime", getCreatedTime())
            .append("updatedBy", getUpdatedBy())
            .append("updatedTime", getUpdatedTime())
            .toString();
    }
}
